package de.haw.ai3.bs.aufgabe3.a1;

import java.util.concurrent.locks.ReentrantLock;

public class KassenWrapper {

	private final ReentrantLock lock = new ReentrantLock();
	private final Kasse[] kassen;

	public KassenWrapper(Kasse[] kassen) {
		this.kassen = kassen;
	}

	public Kasse getSmallestQueue() {
		lock.lock();
		Kasse kasse = null;

		for (Kasse kasseAkt : kassen) {
			if (kasse == null) {
				kasse = kasseAkt;
			} else {
				if (kasseAkt.size() < kasse.size()) {
					kasse = kasseAkt;
				}
			}
		}
		System.out.println("Hallo");
		kasse.incrementZaehler();
		lock.unlock();
		return kasse;
	}
	
	public void decrementZaehler(Kasse kasse){
		lock.lock();
		kasse.decrementZaehler();
		lock.unlock();
	}
	
	public String getKassenInfo(){
		String res="";
		for (Kasse kasse : kassen) {
			res= res+kasse.getInfo()+"\n";
		}
		res=res+"\n";
		return res;
	}
}
